import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class JDBCSelect {
    public static void main(String[] args) throws SQLException {
        //1、创建并初始化数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java107?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("111111");
        //2、建立连接
        Connection connection = dataSource.getConnection();
        //3、构造SQL
        String sql = "select * from student";
        PreparedStatement statement = connection.prepareStatement(sql);
        //4、执行SQL
        ResultSet resultSet = statement.executeQuery();//返回ResultSet类型的
        //5、遍历结果集合
        while(resultSet.next()){
            //把resultSet想象成一个表格，同时表格这里有个光标，初始情况下光标指向表最上面
            //每次调用next，光标往下走一行
            //当光标指向某一行的时候，就可以通过getXXX来获取到当前这行里的数据
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            System.out.println("id="+id+",name="+name);
            //getXXX是取出这一行的指定列的值 使用的方法要和列的类型匹配 参数可以是“第几列”下标 也可以是列名（推荐）
        }
            //6、释放资源
            resultSet.close();
            statement.close();
            connection.close();
    }
}
//JDBC 需要通过以下步骤来完成开发
//1、创建并初始化一个数据源
//2、和数据库服务器建立连接
//3、构造SQL语句
//4、执行SQL语句
//5、释放必要的资源
//jdbc:mysql://127.0.0.1:3306/java107?characterEncoding=utf8&useSSL=false
/*JDBC编程的基本工作
        准备工作：
        1、下载mysql驱动包 maven中央仓库
        2、录入到项目中 复制到项目目录下，标志为library*/